/**
 *====================================================
 * 文件名称: FinanceLineInfo.java
 * 修订记录：
 * No    日期				作者(操作:具体内容)
 * 1.    2015年9月24日			chenxy(创建:创建文件)
 *====================================================
 * 类描述：(说明未实现或其它不应生成javadoc的内容)
 */
package com.yuexunit.finance.project.action.v1.model.output;

import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;

import com.yuexunit.finance.project.action.v1.model.FinanceBaseInfo;
import com.yuexunit.finance.project.action.v1.model.FinanceBulkstock;
import com.yuexunit.web.annotation.Parameter;

/**
 * @ClassName: FinanceLineInfo
 * @Description: TODO(这里用一句话描述这个类的作用)
 * @author chenxy
 * @date 2015年9月24日 上午11:16:41
 */
public class FinanceLineInfo extends FinanceBaseInfo {

	@Parameter(name = "financeId", description = "﻿融资信息ID")
	private Long financeId;

	@Parameter(name = "abnormal", description = "异常状态 0:异常/1:正常")
	private Boolean abnormal;

	@Parameter(name = "enterpriseId", description = "融资企业ID")
	private Long enterpriseId;

	@Parameter(name = "enterpriseName", description = "﻿融资企业")
	private String enterpriseName;

	@Parameter(name = "financeNumber", description = "融资信息编号")
	private String financeNumber;

	@Parameter(name = "applicationAmount", description = "申请金额")
	private String applicationAmount;

	@Parameter(name = "estimateInterest", description = "预计利息")
	private String estimateInterest;

	@Parameter(name = "applicationDateTime", description = "申请时间")
	private Date applicationDateTime;

	@Parameter(name = "interestDate", description = "首次计息日期-估算利息与到期时间")
	private String interestDate;

	@Parameter(name = "financeAmount", description = "审核金额")
	private String financeAmount;

	@Parameter(name = "totalLoanAmount", description = "放款总额")
	private String totalLoanAmount;

	@Parameter(name = "totalReceivedAmount", description = "收款总额")
	private String totalReceivedAmount;

	@Parameter(name = "totalExchangeAmount", description = "换货总额")
	private String totalExchangeAmount;

	@Parameter(name = "financeState", description = "融资状态 0:已取消/1:审批中/2:待确认/3:已审批/4:审批不通过/5:合同已签订/6:待验货/7:已验货/8:待放款/9:已收款/10:提货审批中/11:提货审批不通过/12:换货审批中/13:换货审批不通过/14:提货已审批/15:待放货/16:放货中/17:已签收/18:已完成/19:已评价")
	private Integer financeState;

	@Parameter(name = "supervisionContractId", description = "监管合同ID")
	private Long supervisionContractId;

	@Parameter(name = "financeContractId", description = "融资合同ID")
	private Long financeContractId;

	@Parameter(name = "supervisionNoticeId", description = "监管通知ID")
	private Long supervisionNoticeId;
	
	@Parameter(name = "productType", description = "产品类型 1:代采/2:质押")
	private Integer productType;

	@Parameter(name = "bulkstocks", description = "融资货物")
	private List<FinanceBulkstock> bulkstocks = new ArrayList<>();
	
	@Parameter(name = "financeAuditId", description = "融资评审ID")
	private Long financeAuditId;
	
	@Parameter(name = "applicationCreateDatetime", description = "融资申请预警创建时间")
	private Date applicationCreateDatetime;
	
	@Parameter(name = "constractCreateDatetime", description = "合同上传预警创建时间")
	private Date constractCreateDatetime;
	
	@Parameter(name = "receiveCreateDatetime", description = "通知装货预警创建时间")
	private Date receiveCreateDatetime;
	
	@Parameter(name = "supervisionCreateDatetime", description = "监管确认预警创建时间")
	private Date supervisionCreateDatetime;
	
	@Parameter(name = "loanApplicationCreateDatetime", description = "放款申请预警创建时间")
	private Date loanApplicationCreateDatetime;
	
	@Parameter(name = "transportNoticeCreateDatetime", description = "通知运输预警创建时间")
	private Date transportNoticeCreateDatetime;
	
	@Parameter(name = "financeConstractSample", description = "融资合同范本")
	private String financeConstractSample;
	
	@Parameter(name = "financeConstractState", description = "financeConstractState")
	private Integer financeConstractState;
	
	@Parameter(name = "callback", description = "是否打回")
	private Boolean callback;
	
	@Parameter(name = "bail", description = "保证金")
	private BigDecimal bail;
	
	@Parameter(name = "bailAlreadyReturn", description = "已还保证金")
	private BigDecimal bailAlreadyReturn;
	
	@Parameter(name = "FinanceContractDetail", description = "协议信息")
	private FinanceContractDetail financeProtocolDetail;
	
	@Parameter(name = "FinanceContractDetail", description = "合同信息")
	private FinanceContractDetail financeContractDetail;
	
	@Parameter(name = "supplementContractDetail", description = "增补合同信息")
	private FinanceContractDetail supplementContractDetail;
	
	@Parameter(name = "constractState", description = "合同提交状态")
	private Integer constractState;
	
	@Parameter(name = "loanDate", description = "放款时间")
	private String loanDate;

	@Parameter(name = "loanAmount", description = "放款金额")
	private BigDecimal loanAmount;
	
	@Parameter(name = "finalState", description = "当前审批节点状态")
	private Integer finalState;
	
	public FinanceContractDetail getSupplementContractDetail() {
		return supplementContractDetail;
	}

	public void setSupplementContractDetail(FinanceContractDetail supplementContractDetail) {
		this.supplementContractDetail = supplementContractDetail;
	}

	public Integer getFinalState() {
		return finalState;
	}

	public void setFinalState(Integer finalState) {
		this.finalState = finalState;
	}

	public String getLoanDate() {
		return loanDate;
	}

	public void setLoanDate(String loanDate) {
		this.loanDate = loanDate;
	}

	public BigDecimal getLoanAmount() {
		return loanAmount;
	}

	public void setLoanAmount(BigDecimal loanAmount) {
		this.loanAmount = loanAmount;
	}

	public Integer getFinanceConstractState() {
		return financeConstractState;
	}

	public void setFinanceConstractState(Integer financeConstractState) {
		this.financeConstractState = financeConstractState;
	}

	public BigDecimal getBail() {
		return bail;
	}

	public void setBail(BigDecimal bail) {
		this.bail = bail;
	}

	public BigDecimal getBailAlreadyReturn() {
		return bailAlreadyReturn;
	}

	public void setBailAlreadyReturn(BigDecimal bailAlreadyReturn) {
		this.bailAlreadyReturn = bailAlreadyReturn;
	}

	public FinanceContractDetail getFinanceProtocolDetail() {
		return financeProtocolDetail;
	}

	public void setFinanceProtocolDetail(FinanceContractDetail financeProtocolDetail) {
		this.financeProtocolDetail = financeProtocolDetail;
	}

	public Integer getConstractState() {
		return constractState;
	}

	public void setConstractState(Integer constractState) {
		this.constractState = constractState;
	}

	public Boolean getCallback() {
		return callback;
	}

	public void setCallback(Boolean callback) {
		this.callback = callback;
	}

	public FinanceContractDetail getFinanceContractDetail() {
		return financeContractDetail;
	}

	public void setFinanceContractDetail(FinanceContractDetail financeContractDetail) {
		this.financeContractDetail = financeContractDetail;
	}

	public String getFinanceConstractSample() {
		return financeConstractSample;
	}

	public void setFinanceConstractSample(String financeConstractSample) {
		this.financeConstractSample = financeConstractSample;
	}

	public Date getApplicationCreateDatetime() {
		return applicationCreateDatetime;
	}

	public void setApplicationCreateDatetime(Date applicationCreateDatetime) {
		this.applicationCreateDatetime = applicationCreateDatetime;
	}

	public Date getConstractCreateDatetime() {
		return constractCreateDatetime;
	}

	public void setConstractCreateDatetime(Date constractCreateDatetime) {
		this.constractCreateDatetime = constractCreateDatetime;
	}

	public Date getReceiveCreateDatetime() {
		return receiveCreateDatetime;
	}

	public void setReceiveCreateDatetime(Date receiveCreateDatetime) {
		this.receiveCreateDatetime = receiveCreateDatetime;
	}

	public Date getSupervisionCreateDatetime() {
		return supervisionCreateDatetime;
	}

	public void setSupervisionCreateDatetime(Date supervisionCreateDatetime) {
		this.supervisionCreateDatetime = supervisionCreateDatetime;
	}

	public Date getLoanApplicationCreateDatetime() {
		return loanApplicationCreateDatetime;
	}

	public void setLoanApplicationCreateDatetime(Date loanApplicationCreateDatetime) {
		this.loanApplicationCreateDatetime = loanApplicationCreateDatetime;
	}

	public Date getTransportNoticeCreateDatetime() {
		return transportNoticeCreateDatetime;
	}

	public void setTransportNoticeCreateDatetime(Date transportNoticeCreateDatetime) {
		this.transportNoticeCreateDatetime = transportNoticeCreateDatetime;
	}

	public Integer getProductType() {
		return productType;
	}

	public void setProductType(Integer productType) {
		this.productType = productType;
	}

	public Long getFinanceAuditId() {
		return financeAuditId;
	}

	public void setFinanceAuditId(Long financeAuditId) {
		this.financeAuditId = financeAuditId;
	}

	public Long getEnterpriseId() {
		return enterpriseId;
	}

	public void setEnterpriseId(Long enterpriseId) {
		this.enterpriseId = enterpriseId;
	}

	public String getEnterpriseName() {
		return enterpriseName;
	}

	public void setEnterpriseName(String enterpriseName) {
		this.enterpriseName = enterpriseName;
	}

	public Long getFinanceId() {
		return financeId;
	}

	public void setFinanceId(Long financeId) {
		this.financeId = financeId;
	}

	public String getFinanceNumber() {
		return financeNumber;
	}

	public void setFinanceNumber(String financeNumber) {
		this.financeNumber = financeNumber;
	}

	public Date getApplicationDateTime() {
		return applicationDateTime;
	}

	public void setApplicationDateTime(Date applicationDateTime) {
		this.applicationDateTime = applicationDateTime;
	}

	public String getFinanceAmount() {
		return financeAmount;
	}

	public void setFinanceAmount(String financeAmount) {
		this.financeAmount = financeAmount;
	}

	public String getInterestDate() {
		return interestDate;
	}

	public void setInterestDate(String interestDate) {
		this.interestDate = interestDate;
	}

	public String getTotalLoanAmount() {
		return totalLoanAmount;
	}

	public void setTotalLoanAmount(String totalLoanAmount) {
		this.totalLoanAmount = totalLoanAmount;
	}

	public String getTotalReceivedAmount() {
		return totalReceivedAmount;
	}

	public void setTotalReceivedAmount(String totalReceivedAmount) {
		this.totalReceivedAmount = totalReceivedAmount;
	}

	public String getTotalExchangeAmount() {
		return totalExchangeAmount;
	}

	public void setTotalExchangeAmount(String totalExchangeAmount) {
		this.totalExchangeAmount = totalExchangeAmount;
	}

	public Integer getFinanceState() {
		return financeState;
	}

	public void setFinanceState(Integer financeState) {
		this.financeState = financeState;
	}

	public Boolean getAbnormal() {
		return abnormal;
	}

	public void setAbnormal(Boolean abnormal) {
		this.abnormal = abnormal;
	}

	public List<FinanceBulkstock> getBulkstocks() {
		return bulkstocks;
	}

	public void setBulkstocks(List<FinanceBulkstock> bulkstocks) {
		this.bulkstocks = bulkstocks;
	}

	public String getApplicationAmount() {
		return applicationAmount;
	}

	public void setApplicationAmount(String applicationAmount) {
		this.applicationAmount = applicationAmount;
	}

	public String getEstimateInterest() {
		return estimateInterest;
	}

	public void setEstimateInterest(String estimateInterest) {
		this.estimateInterest = estimateInterest;
	}

	public Long getSupervisionContractId() {
		return supervisionContractId;
	}

	public void setSupervisionContractId(Long supervisionContractId) {
		this.supervisionContractId = supervisionContractId;
	}

	public Long getFinanceContractId() {
		return financeContractId;
	}

	public void setFinanceContractId(Long financeContractId) {
		this.financeContractId = financeContractId;
	}

	public Long getSupervisionNoticeId() {
		return supervisionNoticeId;
	}

	public void setSupervisionNoticeId(Long supervisionNoticeId) {
		this.supervisionNoticeId = supervisionNoticeId;
	}

}
